The present application relates to improved methods and systems for calibrating image rendering systems and compensating digital images within a system thereafter. It finds particular application in conjunction with document processing and image processing systems, and will be described with particular reference thereto. However, it is to be appreciated that some embodiments are amenable to other applications.
Maintaining consistent and uniform tones is a desired goal in most, if not all, image rendering processes and devices. That is, it is desirable for an image to appear the same no matter which rendering system renders the image, and no matter how many times an image is rendered on a particular rendering system. A rendered image should exhibit, e.g., the same lightness or hue each time it is rendered on a given image rendering system, and no matter on which image rendering system it is rendered. For this reason, rendering engines, such as print engines in a printing system, are put through a characterization process in order to determine appropriate compensation values for the particular engine. While this characterization process is useful in determining an initial set of compensation levels for a particular engine, it is often desirable to perform later calibrations to account for variations in the required compensation overtime. For example, in printing systems, it is commonplace to use tone reproduction curves (TRCs) which are determined during the initial characterization process. These TRCs can then be updated, calibrated or recalibrated over time by periodically printing test patches at various calibration levels and sensing the printed test patches to determine appropriate compensations for the initial TRCs so that the new TRCs give appropriate compensation for the current state of a drifted print engine.
Further to the above, where image data is available in a contone format, TRCs can be used to adjust pixel values to compensate for the characteristics of a particular rendering engine. During the calibration process, a calibration image is rendered by the rendering engine, and a sensor is used to measure or analyze an aspect of the rendered image. For example, the image includes portions that are meant to be rendered to have the same lightness or shade of gray. Therefore, the lightness or shade of gray of the rendered image is measured. The measurements may then be used to generate an engine response curve (ERC). The engine response curve may describe a response, such as an average response, over the entire area of the diagnostic or calibration image.
Engine response curves and tone reproduction curves are referred to as curves because the information they contain or are associated with may sometimes be displayed or discussed as a plot of data points. However, information related to both ERCs and compensating TRCs may be stored or manipulated as tables of data, sets of coefficients and/or constants associated with equations, or by other means, as may be convenient.
As indicated above, compensating TRCs are useful for compensating pixel-described input to produce desired colors or shades of gray with a relatively fine resolution. For example, compensating TRCs are useful where image pixels describe an input or desired color with one or more values in a relatively broad range of, for example, 0-255. Such pixels are said to describe an input or desired color or desired shade of gray with contone values. In such systems, one may select an appropriate compensating TRC for a pixel location in rendered image space based on a contone value of the input pixel and look-up and/or calculate a compensated contone value based on the selected compensating TRC.
A problem encountered, however, is the ability to define a minimal sampling procedure for creating and updating compensation TRCs. In particular, the problem can be stated as a need to determine the optimal, minimal set of gray levels or colors that should be used as calibration patches during the calibration process. Reducing the number of samples reduces cost and enables more frequent sampling over the life of the rendering system. To date, sampling during the calibration process or during an updating process has been applied in an ad hoc and inefficient manner. Therefore, there exists a need for an optimal or near optimal test patch level selection process for image rendering systems.